<?php

declare(strict_types=1);

namespace App\Constants\Message;

use Hyperf\Constants\AbstractConstants;
use Hyperf\Constants\Annotation\Constants;

#[Constants]
class SmsCode extends AbstractConstants
{
    /**
     * @Message("model.sms.type.mobile")
     */
    const TYPE_MOBILE = 1;

    /**
     * @Message("model.sms.type.email")
     */
    const TYPE_EMAIL = 2;

    /**
     * @Message("model.sms.status.pending")
     */
    const STATUS_PENDING = 0;

    /**
     * @Message("model.sms.status.success")
     */
    const STATUS_SUCCESS = 1;

    /**
     * @Message("model.sms.status.failed")
     */
    const STATUS_FAILED = 2;

    /**
     * @Message("model.sms.sms_type.code")
     */
    const SMS_TYPE_CODE = 1;

    /**
     * @Message("model.sms.sms_type.marketing")
     */
    const SMS_TYPE_MARKETING = 2;

    /**
     * @Message("model.sms.sms_type.notice")
     */
    const SMS_TYPE_NOTICE = 3;

    /**
     * @Message("model.sms.scene.mobile_verification")
     */
    const SCENE_MOBILE_VERIFICATION = 1;

    /**
     * @Message("跨境申报")
     */
    const SIGN_KJSB = '跨境申报';

    /**
     * 场景消息模板
     * @var string[]
     */
    public static $sceneMsgMap = [
        self::SCENE_MOBILE_VERIFICATION => '尊敬的用户，您的验证码为%s, 用于验证手机号，请勿告诉他人.'
    ];
}
